Patching is a process of updating a portion of execution code of a software application with newer execution code. An update is typically implemented to support the application, to update it, or to repair a defect or other impairment of the application (colloquially known as “bugs”). Examples of purposes of patches include redressing security vulnerabilities, rectifying logic errors, and streamlining code or logic to improve efficiency.
Although intended to improve the software application by addressing existing problems, patching itself may result in additional problems. Patching typically involves deactivating the software application and other related systems, resulting in productivity loss through downtime. Additionally, code of a patch can be deficient relative to taking into account all the specific unique hardware and software interactions addressed by a prior version of the application. As a result, there is clear utility in, and benefit from, novel methods and apparatuses for efficiently introducing software patches into software applications.
For the purposes of this disclosure, like reference numerals in the figures shall refer to like features unless otherwise indicated. The drawings are only an exemplification of the principles of the invention and are not intended to limit the disclosure to the particular embodiments illustrated.